
import java.awt.Color;
import java.sql.*;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.event.EventType;
import javafx.scene.paint.Paint;
import javafx.scene.shape.Rectangle;
import javafx.stage.Popup;

/*
 * To change this template, choose Tools | Templates and open the template in
 * the editor.
 */
/**
 *
 * @author enrico
 */
public class AggiungiLibroController {

  ListaLibriController controller;
  Popup aggiungiLibroPopup;

  public AggiungiLibroController(ListaLibriController controller) {
    this.controller = controller;
  }

  public void showPopup(int section) {
    aggiungiLibroPopup = new Popup();

    Rectangle r = new Rectangle();
    r.setWidth(480);
    r.setHeight(185);
    r.setId("aggiungiGrid");
    r.setFill(null);

    AggiungiLibroView alv = new AggiungiLibroView(section, this);

    aggiungiLibroPopup.getContent().addAll(r, alv);
    aggiungiLibroPopup.setAutoFix(true);
    aggiungiLibroPopup.setWidth(480);
    aggiungiLibroPopup.setHeight(185);
    aggiungiLibroPopup.setAutoHide(false);
    aggiungiLibroPopup.setHideOnEscape(false);

    alv.getRemoveButton().setOnAction(new EventHandler<ActionEvent>() {

      @Override
      public void handle(ActionEvent arg0) {
        releasePopup();
      }
    });
    aggiungiLibroPopup.show(controller.getRoot().getScene().getWindow());
    aggiungiLibroPopup.centerOnScreen();
    controller.getRoot().setDisable(true);
  }

  public void aggiungiLibro(String sezione, String titolo, String sottotitolo, String autore, String editore, String anno, String sc, String prsc, String pr, String und, String quantita) throws ClassNotFoundException, SQLException {
    // query
    Class.forName("org.sqlite.JDBC");
    Connection conn = DriverManager.getConnection("jdbc:sqlite:lib/biblioteche.db");
    //Statement stat = conn.createStatement();
    
    PreparedStatement pstmt = conn.prepareStatement("INSERT INTO biblioteche ('ID','PR','X','Quanti','SC','PRSC','Titolo','Sottotitolo','Autore','Editore','Anno','Und','Sezione') VALUES (NULL,?,'',?,?,?,?,?,?,?,?,?,?)");
    
    pstmt.setString(1, pr);
    pstmt.setString(2, quantita);
    pstmt.setString(3, sc);
    pstmt.setString(4, prsc);
    pstmt.setString(5, titolo);
    pstmt.setString(6, sottotitolo);
    pstmt.setString(7, autore);
    pstmt.setString(8, editore);
    pstmt.setString(9, anno);
    pstmt.setString(10, und);
    pstmt.setString(11, sezione);
    
    pstmt.executeUpdate();
    
    conn.close();
    releasePopup();
    controller.refreshTable(Integer.valueOf(sezione));
  }

  private void releasePopup() {
    aggiungiLibroPopup.hide();
    controller.getRoot().setDisable(false);
  }
}
